home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 1 (Walnut Creek)
/
Aminet - June 1993 [Walnut Creek].iso
/
aminet
/
gfx
/
pbm
/
scripts.lzh
/
scripts
/
anytopnm
next >
Wrap
Text File
|
1991-12-07
|
3KB
|
188 lines
#!/bin/sh
#
# anytopnm - attempt to convert an unknown type of image file to a P?M file.
#
# Copyright (C) 1991 by Jef Poskanzer.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation for any purpose and without fee is hereby granted, provided
# that the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation. This software is provided "as is" without express or
# implied warranty.
if [ ! $# = 1 ] ; then
echo "usage: $0 <file>" 1>&2
exit 1
fi
origfile="$1"
file="$origfile"
tmpfiles=""
while true ; do
filetype=`file "$file"`
case "$filetype" in
*PBM* | *PGM* | *PPM* )
cat "$file"
break
;;
*compress* )
newfile="/tmp/atn.comp.$origfile"
rm -f "$newfile"
zcat < "$file" > "$newfile"
file="$newfile"
tmpfiles="$tmpfiles $newfile"
;;
*btoa* )
newfile="/tmp/atn.btoa.$origfile"
rm -f "$newfile"
atob < "$file" > "$newfile"
file="$newfile"
tmpfiles="$tmpfiles $newfile"
;;
*Sun* | *rasterfile* )
rasttopnm "$file"
break
;;
*GIF* )
giftoppm "$file"
break
;;
*TIFF* )
tifftopnm "$file"
break
;;
*IFF*ILBM* )
ilbmtoppm "$file"
break
;;
*Lisp* )
lispmtopgm "$file"
break
;;
*PC*Paintbrush* )
pcxtoppm "$file"
break
;;
*Bennet* )
ybmtopbm "$file"
break
;;
* )
# Can't figure out the file type from the magic number,
# try the extension.
case "$file" in
*.pbm | *.pbm.* | *.pgm | *.pgm.* | *.ppm | *.ppm.* )
cat "$file"
;;
*.x | *.x.* | *.xbm | *.xbm.* | *.x10bm | *.x10bm.* | *.x11bm | *.x11bm.* | *.bitmap | *.bitmap.* )
xbmtopbm "$file"
;;
*.r | *.r.* | *.rast | *.rast.* )
rasttopnm "$file"
;;
*.mac | *.mac.* | *.macp | *.macp.* )
macptopbm "$file"
;;
*.g3 | *.g3.* | *.fax | *.fax.* )
g3topbm "$file"
;;
*.xwd | *.xwd.* | *.x10wd | *.x10wd.* | *.x11wd | *.x11wd.* )
xwdtopnm "$file"
;;
*.brush | *.brush.* )
brushtopbm "$file"
;;
*.img | *.img.* )
gemtopbm "$file"
;;
*.pcx | *.pcx.* )
pcxtoppm "$file"
;;
*.pic | *.pic.* | *.pict | *.pict.* | *.pict2 | *.pict2.* )
picttoppm "$file"
;;
*.tif | *.tif.* | *.tiff | *.tiff.* )
tifftopnm "$file"
;;
*.fs | *.fs.* | *.face | *.face.* )
fstopgm "$file"
;;
*.hips | *.hips.* )
hipstopgm "$file"
;;
*.fits | *.fits.* )
fitstopgm "$file"
;;
*.gif | *.gif.* )
giftoppm "$file"
;;
*.iff | *.iff.* | *.ilbm | *.ilbm.* )
ilbmtoppm "$file"
;;
*.lispm | *.lispm.* )
lispmtopgm "$file"
;;
*.mtv | *.mtv.* )
mtvtoppm "$file"
;;
*.qrt | *.qrt.* )
qrttoppm "$file"
;;
*.tga | *.tga.* | *.targa | *.targa.* )
tgatoppm "$file"
;;
*.xim | *.xim.* )
ximtoppm "$file"
;;
*.xpm | *.xpm.* | *.xpm2 | *.xpm2.* )
xpmtoppm "$file"
;;
*.pi1 | *.pi1.* )
pi1toppm "$file"
;;
*.pi3 | *.pi3.* )
pi3topbm "$file"
;;
*.spu | *.spu.* )
sputoppm "$file"
;;
*.spc | *.spc.* )
spctoppm "$file"
;;
*.ybm | *.ybm.* | *.face | *.face.* )
ybmtopbm "$file"
;;
* )
echo "$0: unknown file type" 1>&2
exit 1
;;
esac
break
;;
esac
done
if [ "$tmpfiles" ] ; then
rm -f $tmpfiles
fi
exit 0